c++ - string::operator+= 问题
全部标签 我是C语言的新手,我试图找到一些代码片段来弄清楚如何在C语言中实现时间触发的任务。我有两个函数,它们的执行时间可能在50到200毫秒之间变化。我想将这些函数传递给一个工作线程,该线程应安排为每500毫秒运行一次。在C(win32平台)中是否有一种简单的方法(如java的TimerTask)来使用标准运行时库实现定时器任务? 最佳答案 使用c你可以使用win32SetTimer功能 关于c-我如何在win32平台上用C实现时间驱动的任务?,我们在StackOverflow上找到一个类似的问
我正在尝试构建一个程序来将一堆文件重命名为特定格式。问题是,我无法找出使用C(使用VisualC++2010)查找、列出或操作Windows文件的最佳方法。我能够使用FindFirstFile()在C++中完成此操作,但我试图将自己限制在C中,因此我正在寻找另一种解决方案,它也将更加兼容。谢谢。 最佳答案 首先,FindFirstFile()不是C++函数;它是一个Windows函数,在Windows上也可以在C中使用(但在其他操作系统上根本不可用)如果你想要一个可移植的解决方案,你可以使用glib库的directoryfuncti
刚刚下载了libcurl并在Windows上使用VC2008构建了它。它带有一个项目,我构建它,一个静态库(发布)。我在我的控制台win32应用程序中使用它,它不链接,未解析的符号。所以我在libcurl.lib上做了一个dumpbin/exports,什么也没做。令人费解...作为libcurl发行版的一部分,有一个使用libcurl.lib的curl项目。链接到同一个库没有任何问题。任何想法,我做错了什么?谢谢礼萨 最佳答案 对不起,答案是“在我眼前”。我需要使用特定于静态库的编译器指令,即/D“CURL_STATICLIB”。
包含文件:stdio.hstring.hctype.hgenlib.hsimpio.hstrlib.h数据库结构如下所示:typedefstruct{catT*cats;intcurrentMaxSize;intcurrentNumberOfCats;intnextId;}*DBT;“cats”结构如下所示:typedefstruct{intid;stringname;chargender;intbirthYear;intnumberOfColours;stringcolours[MAX_COLOURS];}catT;如果我们说我在DBT数据库中有3只猫并且想要删除其中之一,我该如何编
在.NET编译器(csc.exe)中,我可以使用选项/target:exe编译成一个exe,使控制台保持打开状态,这样我就可以看到一些stderr或`stdout``输出。但是,我无法使用C/C++编译器(cl.exe)实现相同的功能。我的程序使用WinMain,这意味着它是一个完整的UI应用程序。这就是我需要保留控制台的原因。 最佳答案 创建控制台应用程序所需的标志是/subsystem:console,查看MSDN文档aboutit.它实际上是链接器阶段的标志:link/out:foo.exe/subsystem:console
对所有Win32开发人员的呼吁...我正在使用纯Win32在C中开发一个应用程序。我想问一下关于这些东西的Windows开发标准:是否有标准的Windows错误日志API?例如,如果我的客户使用我的应用程序并且它崩溃了,我希望他们向我发送错误日志,我希望这是一个标准位置,以便他们可以使用标准Windows日志实用程序访问它。我的应用需要存储设置信息。我认为注册表是这项任务的标准实用程序。是吗?我的应用需要存储和检索它从互联网下载的文件-图片、可执行文件等。ApplicationData/myapp是存储此类信息的标准位置吗?我的应用程序需要一个非常简单的数据库-我为此使用CSV。我基本
微软以其无限的血腥智慧默认禁用了printf(及其所有变体)中的%n说明符。您可以使用此功能重新启用它;_set_printf_count_output()。我曾经使用过这个-过去一段时间-并且有效。现在不行了。平台是Windows7上的最新SDK。还有其他人找到这个吗? 最佳答案 程序:int_tmain(intargc,_TCHAR*argv[]){intcount;_set_printf_count_output(1);printf("1234567890123456%n78901234567890\n",&count);pr
我设计了一个windows服务,定期检查是否安装了特定的应用程序,当它发现没有安装时,它会从共享网络位置下载它,该文件是一个静默和无人值守的安装exe(自安装).我在运行安装程序时遇到问题,所以我决定不尝试运行安装程序,而是运行一个小的helloworldwindows窗体应用程序,只是为了看看这个简单的事情是否有效。经过几个小时的困惑后,我终于发现helloworld应用程序确实可以运行,但在不同的用户下运行-特别是本地机器。在接下来的几个小时里,我发现我必须关闭UAC(Vista/7)并允许该服务与桌面交互。在此之后,我终于在桌面上收到一个提示,提示有一项服务正在尝试运行某些东西,
我正在尝试使用JNA从Java运行以下C函数,但我在x86windows(DLL)而不是x64linux(.SO)上收到错误(无效内存访问)。c函数char*testcopy(char*out,char*in){strcpy(out,in);free(in);returnout;};C测试:适用于两个平台(EclipseCDT/MVC++)通过linux共享库或windowsdll暴露函数,直接在C中调用,结果OK。...charout[10];char*res;char*in=(char*)malloc(3*sizeof(char));strcpy(in,"ab");res=test
我想创建一个“虚拟”文件,访问时将被d/l(通过我的后台应用程序)。如果文件由Windows资源管理器或其他应用程序(例如MicrosoftWord...)访问,这应该有效实现它的最佳方式是什么?编辑:这可以通过ShellExtensions实现吗? 最佳答案 听起来好像您要编写一个虚拟文件系统驱动程序。这在纯C中是一项非常艰巨的任务,调试支持有限且需要多次重启。如果我没记错的话,这个任务非常艰巨,以至于有几种商业产品提供的工具和库可以大大简化实现。更新:起点是Microsoft'sInstallableFileSystemKit,